package au.com.betaversion.domain;

import java.io.Serializable;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document
public class Aircraft implements Comparable<Aircraft>, Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 5407190397739215979L;
	@Id
	private String mark;
	private String manufacturer;
	private String model;
	private String state;
	private String operatorName;
	private String operatorState;
	private String serialNumber;
	private String mtow;
	private String photoId;

	/**
	 * @return the mark
	 */
	public String getMark() {
		return mark;
	}

	/**
	 * @param mark the mark to set
	 */
	public void setMark(String mark) {
		this.mark = mark;
	}

	/**
	 * @return the manufacturer
	 */
	public String getManufacturer() {
		return manufacturer;
	}

	/**
	 * @param manufacturer the manufacturer to set
	 */
	public void setManufacturer(String manufacturer) {
		this.manufacturer = manufacturer;
	}

	/**
	 * @return the model
	 */
	public String getModel() {
		return model;
	}

	/**
	 * @param model the model to set
	 */
	public void setModel(String model) {
		this.model = model;
	}

	/**
	 * @return the state
	 */
	public String getState() {
		return state;
	}

	/**
	 * @param state the state to set
	 */
	public void setState(String state) {
		this.state = state;
	}

	/**
	 * @return the operatorName
	 */
	public String getOperatorName() {
		return operatorName;
	}

	/**
	 * @param operatorName the operatorName to set
	 */
	public void setOperatorName(String operatorName) {
		this.operatorName = operatorName;
	}

	/**
	 * @return the serialNumber
	 */
	public String getSerialNumber() {
		return serialNumber;
	}

	/**
	 * @param serialNumber the serialNumber to set
	 */
	public void setSerialNumber(String serialNumber) {
		this.serialNumber = serialNumber;
	}

	@Override
	public int compareTo(Aircraft o) {
		return this.mark.compareTo(o.getMark());
	}

	/**
	 * @return the operatorState
	 */
	public String getOperatorState() {
		return operatorState;
	}

	/**
	 * @param operatorState the operatorState to set
	 */
	public void setOperatorState(String operatorState) {
		this.operatorState = operatorState;
	}

	/**
	 * @return the mtow
	 */
	public String getMtow() {
		return mtow;
	}

	/**
	 * @param mtow the mtow to set
	 */
	public void setMtow(String mtow) {
		this.mtow = mtow;
	}

	/**
	 * @return the photoId
	 */
	public String getPhotoId() {
		return photoId;
	}

	/**
	 * @param photoId the photoId to set
	 */
	public void setPhotoId(String photoId) {
		this.photoId = photoId;
	}

	@Override
	public String toString() {
		return "{mark:'" + mark + "', manufacturer:'" + manufacturer
				+ "', model:'" + model + "', state:'" + state + "', operatorName:'"
				+ operatorName + "', operatorState:'" + operatorState
				+ "', serialNumber:'" + serialNumber + "', mtow:'" + mtow
				+ "', photoId:'" + photoId + "'}";
	}

}
